package com.cjb.cloudsecurity.userMsg.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cjb.cloudsecurity.userMsg.entity.SysOrg;
import com.cjb.cloudsecurity.userMsg.vo.SysOrgVO;

import java.util.List;

/**
* 机构管理
*
* @author 陈锦斌 2213859123@qq.com
* @since 1.0.0 2023-09-03
*/
public interface SysOrgService extends com.baomidou.mybatisplus.extension.service.IService<SysOrg> {
    /**
    * 单体保存
    * @Author chenjinbin
    * @Value
    * @Title
    */
    boolean save(SysOrg sysOrg);

    /**
    *批量保存
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    Integer listSave(List<SysOrg> sysOrg);
    /**
    * 批量更新
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    void listUpdate(List<SysOrg> sysOrg);
    /**
    * 批量删除
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    void listDelete(List<SysOrg> sysOrg);


    /**
    * 通过id删除
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    int deleteById(SysOrg sysOrg);
    /**
    *单个查询
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    SysOrg queryById(SysOrg sysOrg);
    /**
    * 分页查询
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    Page queryPage(Page sysOrgPage , SysOrgVO sysOrg);

    /**
    * 返回全部信息
    *
    * @Author chenjinbin
    * @Value
    * @Title
    */
    List<SysOrg> returnAllData();

    /**
     * 获得子机构
     *
     * @Author chenjinbin
     * @Value
     * @Title
     */
    /**
     * 根据机构ID，获取子机构ID列表(包含本机构ID)
     * @param id   机构ID
     */
    List<Long> getSubOrgIdList(Long id);
}
